package 力扣日常刷题.木22一月.第07天0115;

/**
 * @author 帅小伙
 * @date 2022/1/15
 * @description
 */
public class Demo05动态规划简单前n个数字二进制中1的个数 {



    public int[] countBits(int n) {
       int[] ans = new int[n+1];

        for (int i = 0; i <= n; i++) {
            // 0:0   1  1     2-->1+0   判断最低位   判断高位1的个数   高位1 就是  /2的低位
            ans[i] = ans[i>>1] + (i & 1);
        }
        return ans;
    }



}
